package com.example.forum.utils;

import org.apache.commons.codec.digest.DigestUtils;

public class MD5Util {
    /**
     * 对普通字符串的加密
     * @param str 明文
     * @return 密文
     */
    public static String md5(String str) {
        return DigestUtils.md5Hex(str);
    }
    /**
     * 原始字符串和盐值的组合加密
     * @param str 明文
     * @param salt 盐值
     * @return 密文
     */
    public static String md5Salt(String str,String salt) {
        return MD5Util.md5(str + salt);
    }

    /**
     * 比较两个密文是否一致
     * @param original 原字符串
     * @param salt 盐值
     * @param ciphertext 密文
     * @return true 相同 <br> false 不同
     */
    public static boolean verifyOriginalAndCiphertext(String original,String salt,String ciphertext) {
        String md5text = md5Salt(original,salt);
        if(md5text.equalsIgnoreCase(ciphertext)) {
            return true;
        }
        return false;
    }
}
